home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
MATHS
/
ARCAUT
/
!ArcAut
/
!Help
next >
Wrap
Text File
|
1991-07-11
|
2KB
|
47 lines
ArcAut is a cellular automaton laboratory for the Archimedes; see the
instructions for a general description of cellular automata.
ArcAut permits saving & loading of screens. It expects to find a directory
called 'Screens' within the directory in which !ArcAut is held, for the
storage of these.
Automaton code is held in a text file. It can be executed by either dragging
from a filer window, or from a save dialogue box such as in !Edit, onto the
ArcAut icon on the icon bar. The code for an automaton has the following
syntax:
AUTOMATON*
<name>
INITIALISATION*
<basic1>
SCREEN*
<basic2>
CODE*
<code>
END*
Where basic1 is a BASIC routine defining initialisation of any parameters
required by the automaton; these should be passed using system variables; &
basic2 sets up the screen for the first generation. The routines are
executed via a call to PROCdo, thus they should be enclosed within a
definition of this procedure. They may call other FNs/PROCs. It is
recommended that both these sections of Basic code use line numbers greater
than 9. Note that the last line in each section of Basic code must terminate
with at least one carriage return (or CHR$10).
A library of useful procedures & functions common to many automatons is
provided (called 'Library', stored in !ArcAut); these may be referred to
without further definition & are always present (they may also be extended).
Inclusion of common machine code routines is possible by appending them to
the file 'Code' in !ArcAut. They may be accessed via their offset within the
code using the pointer to the start address held in the Basic variable
'code%'. Any such routines are also always present. See the instructions or
examples for details of current routines provided.
'code' describes the actual rules defining the automaton. This should begin
with a '(' character, and terminate with a ')'. The rules are composed of
elementary arithmetic & logical operators, a few commands, & a single means
of conditional execution of differing parts of the code, all communicating
via a very small stack using reverse polish notation. See the instructions
or examples for details of this simple language. Note that additional spaces
& carriage returns may be freely used between instructions to aid
legibility; they will be ignored by ArcAut.